/*
 * Copyright 2010 Christoph Widulle (christoph.widulle@googlemail.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

                 //todo use volumne as collisionvolumne

package com.android1.amarena2d.nodes.behavior.delegates;

import com.android1.amarena2d.engine.collision.Collision;
import com.android1.amarena2d.engine.collision.CollisionVolume;
import com.android1.amarena2d.nodes.behavior.Collidable;

public interface CollisionDelegate extends Collision {

    public Collidable getCollidable();

    public CollisionVolume getVolume();

    public void onCollision(final CollisionDelegate other);

    public void register();

    public void unregister();

    public boolean isActive();

    public int getCheckBehaviour();

    public void saveLastPos();

    public void revertToLastPos();

    public boolean isAllowMultipleCollisionsPerTick();

    public boolean isNotifyOnCollision();

}